package Sort.面试.华为;

/**
 * 某商店规定：三个空汽水瓶可以换一瓶汽水，允许向老板借空汽水瓶（但是必须要归还）。
 *
 * 小张手上有n个空汽水瓶，她想知道自己最多可以喝到多少瓶汽水。
 *
 * 数据范围：输入的正整数满足 1 <= n <= 100
 */
public class DrinkWater {

    /**
     * @param bottleNum 空瓶子个数
     * @return
     */
    public static int howMuchWater(int bottleNum){
        if(bottleNum > 100 || bottleNum < 1){
            throw new IllegalArgumentException("非法参数， n>=1 && n <= 100");
        }
        if(bottleNum == 1){
            return 0;
        }else if (bottleNum == 2){
            return 1;
        }else{
            return (bottleNum/3) + howMuchWater(bottleNum%3 + bottleNum/3);
        }
    }

    public static void main(String[] args) {
        System.out.println(howMuchWater(94));
    }
}
